package com.wanghlme.bookstore.service;

import com.wanghlme.bookstore.bean.Cart;
import com.wanghlme.bookstore.entity.Book;

/**
 * 购物车操作接口 Service
 *
 * @author WangHailong
 */
public interface CartService {

    /**
     * 向购物车中添加图书
     *
     * @param cart 待处理的购物车
     * @param book 图书信息
     * @return 一个 json 格式的字符串，包含数量和书名
     */
    String insertBook(Cart cart, Book book);

    /**
     * 更新购物车中某项商品的数量信息
     *
     * @param cart  待处理的购物车
     * @param book  图书信息
     * @param count 图书数量
     * @return 一个 json 格式的字符串，包含当前图书项总数，当前图书项总价，购物车内图书总价，购物车内图书总数
     */
    String updateBook(Cart cart, Book book, Integer count);

    /**
     * 删除购物车中某项商品
     *
     * @param cart   待处理的购物车
     * @param bookId 图书 ID
     * @return 删除结果
     */
    boolean deleteBook(Cart cart, String bookId);

    /**
     * 清空购物车
     *
     * @param cart 待处理的购物车
     * @return 清空结果
     */
    boolean clearCart(Cart cart);

}
